From e2d6a0473bbffb26177c0d4bb3ddbe6268c3ca70 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 27 Dec 2007 12:30:44 +0000 Subject: [PATCH] libxc: Fix xc_domain_bind_pt_irq(). Signed-off-by: Guy Zana --- tools/libxc/xc_domain.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index e6eac869a8..8be00d1ab6 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -786,7 +786,7 @@ int xc_domain_bind_pt_irq( uint8_t bus, uint8_t device, uint8_t intx, - uint8_t isa_irq) + uint8_t isa_irq) { int rc; xen_domctl_bind_pt_irq_t * bind; @@ -799,10 +799,14 @@ int xc_domain_bind_pt_irq( bind->hvm_domid = domid; bind->irq_type = irq_type; bind->machine_irq = machine_irq; - bind->u.pci.bus = bus; - bind->u.pci.device = device; - bind->u.pci.intx = intx; - bind->u.isa.isa_irq = isa_irq; + if ( irq_type == PT_IRQ_TYPE_PCI ) + { + bind->u.pci.bus = bus; + bind->u.pci.device = device; + bind->u.pci.intx = intx; + } + else if ( irq_type == PT_IRQ_TYPE_ISA ) + bind->u.isa.isa_irq = isa_irq; rc = do_domctl(xc_handle, &domctl); return rc; -- 2.30.2